﻿using System.Collections.Generic;
using System.Data;
using Amoo.Code.Common;

namespace Amoo.Code.Data
{
    public class Banner:BaseData
    {
                        

        public List<Entity.Banner> GetAll()
        {
            List<Entity.Banner> returnVal = new List<Entity.Banner>();
            IDataReader dr = ExecuteReader("select idBanner , idComunidade , idTipoBanner , dsArquivo , dsPalavrasBusca , bolHome from banner");
            if (dr!=null)
            {
                while(dr.Read())
                {
                    returnVal.Add(Entity.Banner.Load(dr));
                }
            }
            return returnVal;
        }

        public List<Entity.Banner> GetAll(int pIdComunidade)
        {
            List<Entity.Banner> returnVal = new List<Entity.Banner>();
            IDataReader dr = ExecuteReader("select idBanner , idComunidade , idTipoBanner , dsArquivo , dsPalavrasBusca , bolHome from banner where idComunidade=" + pIdComunidade.ToString());
            if (dr != null)
            {
                while (dr.Read())
                {
                    returnVal.Add(Entity.Banner.Load(dr));
                }
            }
            return returnVal;
        }


        public Entity.Banner GetById(Entity.Banner oBanner)
        {
           Entity.Banner returnVal = new Entity.Banner();
           IDataReader dr = ExecuteReader("select idBanner , idComunidade , idTipoBanner , dsArquivo , dsPalavrasBusca , bolHome from banner where idbanner = " + oBanner.idBanner);
            if (dr != null)
            {
               returnVal = Entity.Banner.Load(dr);
            }
            return returnVal;
        }

        public List<Entity.Banner> GetAll(Entity.Comunidade oComunidade)
        {
            List<Entity.Banner> returnVal = new List<Entity.Banner>();
            IDataReader dr = ExecuteReader("select idBanner , idComunidade , idTipoBanner , dsArquivo , dsPalavrasBusca , bolHome from banner where idComunidade = " + oComunidade.idComunidade);
            if (dr != null)
            {
                while (dr.Read())
                {
                    returnVal.Add(Entity.Banner.Load(dr));
                }
            }
            return returnVal;
        }

        public List<Entity.Banner> GetAll(string pTipoComunidade)
        {
            List<Entity.Banner> returnVal = new List<Entity.Banner>();
            IDataReader dr = ExecuteReader(@"
                                            select banner.* 
                                              from banner,  
                                                   comunidade
                                             where banner.idComunidade = comunidade.idComunidade
                                                   and banner.bolHome = 1  
                                                   and comunidade.TipoComunidade='" + pTipoComunidade + "'");
            if (dr != null)
            {
                while (dr.Read())
                {
                    returnVal.Add(Entity.Banner.Load(dr));
                }
            }
            return returnVal;
        }

        public void Insert(Entity.Banner oBanner)
        {
            string query = @"INSERT INTO banner ( idComunidade, idTipoBanner, dsArquivo, dsPalavrasBusca)
                   VALUES ({0}, {1}, '{2}', '{3}')";
            query = string.Format(query, oBanner.idComunidade, oBanner.idTipoBanner, oBanner.dsArquivo, oBanner.dsPalavrasBusca);
            Execute(query);
        }

        public void SetToHome(Code.Entity.Banner pBanner)
        {
            int bolhomei = 0;
            if (pBanner.bolHome)
            {
                bolhomei = 1;
            }
            string query = @"Update Banner set bolHome = " + bolhomei + " WHERE idBanner=" + pBanner.idBanner.ToString();
            Execute(query);
        }

        public void Delete(Code.Entity.Banner pBanner)
        {
            string query = @"Delete from Banner WHERE idComunidade = " + pBanner.idComunidade.ToString() + " and idBanner=" + pBanner.idBanner.ToString() + "";
            Execute(query);
        }

    }
}
